Release 10.1A: OpenEdge Development:
Progress 4GL Reference
RUN STORED-PROCEDURE statement
Runs a non-Progress stored procedure or allows you to send SQL to an SQL-based data source using an OpenEdge DataServer.
Syntax
procedureThe name of the stored procedure that you want to run or the Progress built-in procedure name,
send-sql-statement, to send SQL to an SQL-based data source.integer-field= PROC-HANDLEAssigns a value to the specified integer field or variable (
integer-field) that uniquely identifies the stored procedure returning results from the non-OpenEdge database or that uniquely identifies the SQL cursor used to retrieve results from an SQL-based, ODBC-compliant data source.NO-ERRORSpecifies that any ERROR conditions that the RUN STORED-PROCEDURE statement produces are suppressed. Before you close a stored procedure, check the ERROR-STATUS handle for information on any errors that occurred. You receive an error when you attempt to close a stored procedure that did not start.
Note: This option must appear before any run-time parameter list.parameterA run-time parameter to be passed to the stored procedure. A
parameterhas the following syntax:
An
expressionis a constant, field name, variable name, or expression. INPUT is the default. OUTPUT and INPUT-OUTPUT parameters must be record fields or program variables. For ORACLE, OUTPUT and INPUT-OUTPUT work the same way.If you run send-sql-statement for an SQL-based data source, you must pass a single character expression
parametercontaining the SQL statement you want the data source to execute.If you do not specify
Examplesparameter-name(the name of a keyword parameter defined by the stored procedure), you must supply all of the parameters in correct order. If you do specifyparameter-name, you must precede your assignment statement with the keyword PARAM. If you do not supply a required parameter, and no default is specified in the stored procedure, you receive a run-time error.This procedure runs the ORACLE stored procedure pcust and writes the results of the stored procedure into the Progress-supplied buffer, proc-text-buffer. The same code works for accessing a stored procedure from an ODBC-compliant data source.
This procedure uses the
send-sql-statementoption of the RUN STORED-PROCEDURE statement to send SQL to ORACLE. It writes the results of the stored procedure into the Progress-supplied buffer, proc-text-buffer. The same code works for sending SQL to an ODBC-compliant data source:
This code example shows how to trap errors from the non-OpenEdge RDBMS within a procedure:
Notes
- The RUN STORED-PROCEDURE statement starts a transaction with the same scope as transactions started with the UPDATE statement.
- For more information on using this statement and on using the built-in procedure name,
send-sql-statement, see the OpenEdge DataServer Guides, OpenEdge Data Management: DataServer for Microsoft SQL Server , OpenEdge Data Management: DataServer for ODBC , and OpenEdge Data Management: DataServer for ORACLE .See also
CLOSE STORED-PROCEDURE statement, PROC-HANDLE function, PROC-STATUS function
|
Copyright © 2005 Progress Software Corporation www.progress.com Voice: (781) 280-4000 Fax: (781) 280-4095 |